package com.yashi.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import com.yashi.entity.TbGroup;
import com.yashi.entity.TbUser;

/**
 * 
 * @author haoyun
 *  聊天群接口
 */
public interface GroupService {
	
	/**
	 * 群头像上传
	 * @param request
	 * @param userChat
	 * @return
	 */
	List<TbGroup> groupPhotoUpload(HttpServletRequest request, TbGroup tbGroup);
	
	/**
	 * 查询群组聊天列表
	 * @param session
	 * @return
	 */
	List<TbGroup> finGroupChatList(HttpSession session);
	/**
	 * 根据id查询组
	 * @param id
	 * @return
	 */
	TbGroup getGroupByid(String id);
	/**
	 * 根据组名获取组（模糊查询）
	 * @param name
	 * @return
	 */
	List<TbGroup> getGroupByName(String name);
	/**
	 * 得到所有群		
	 * @return
	 */
	List<TbGroup> getAllGroup();
	/**
	 * 根据id修改群
	 * @param id
	 * @return
	 */
	Integer updateById (TbGroup group,HttpSession session)throws Exception;
	/**
	 * 根据id删除群
	 * @param id
	 * @return
	 */
	Integer deleteById (TbGroup group,HttpSession session)throws Exception;
	/**
	 * 添加群
	 * @param group
	 * @return
	 */
	Integer addGroup (HttpServletRequest req,TbGroup group,List<String> userLsit,HttpSession session)throws Exception;
	
	/**
     * 根据用户id查询群组
     * @param userId
     * @return
     */
    List<TbGroup> selectGroupByUserId(HttpSession session);
    /**
     * 根据群id查群成员
     * @param groupId
     * @return
     */
    List<TbUser> selectUserbyGroupId(String groupId);
    /**
     * 添加群成员
     * @return
     */
    Integer addUserToGroup(String groupId,List<String> userIdList);
    /**
     * 删除群成员
     * @return
     */
    Integer deleteUserToGroup(String groupId,List<String> userIdList);
}
